Custom ThingM Pixel

An I2C RGB pixel on custom hardware

Back to Portfolio Home

I designed a custom RGB LED board based on the BlinkM from ThingM. For this project a specific high brightness RGB LED was chosen, and the rest of the components were selected around that and the Microchip ATtiny85 chip that runs the show. To keep costs low, parts I had on hand were used, hence the mix of tiny surface mount and through hole components. The board has a voltage regulator on board so you can daisy chain multiple boards together with a single DC-DC power supply. The ribbon cable provides the I2C signal wires and both unregulated and regulated power for greater flexibility. The same header can also act as a programming interface for the ATtiny85. I also designed a small diffuser that fits over the LED and had it 3D printed at Shapeways. The cone is hollow, and the hole in the bottom just fits over the LED with a tight friction fit. Rather than use something like Fusion360 (which is my normal go to), I designed it in OpenSCAD with the simple code below:

translate([0,0,10]) rotate([0,180,0]){
    difference() {
        // Start with the outer cone
        cylinder (h=10, r1=5, r2=11);
        // hollow it out
        translate([0,0,1])cylinder (h=8, r1 = 4, r2= 10);
        // make sure to take out the shape of the LED
        hull() {
            translate([0,0,-0.1]) cylinder (h = 5.1, r=2.5, $fn=100);
            translate([0,0,5]) sphere(r=2.5, center=true, $fn=50);
        };
    };
}

portfolio\custom_thingm\imgs\bare_board_cropped.png
portfolio\custom_thingm\imgs\Component_Side.png
portfolio\custom_thingm\imgs\Dark_Blue.png
portfolio\custom_thingm\imgs\No_LED_Cap.png
portfolio\custom_thingm\imgs\Pixel_color_cycle_zoomed.gif
portfolio\custom_thingm\imgs\Powered_Off.png
portfolio\custom_thingm\imgs\Soft_White.png